/**
 * Klasse   PaymentWay tbv. project KantineSimulatie om betalingen te verrichten
 * @author  (Stephan Veenstra, Michel Jansma) 
 * @version (2012.10.15)
 */
public abstract class PaymentWay {
    
    //Instantie variabelen definiëren van het type double
    protected double balance;

    /**
     * @method PaymentWay
     * @params null
     * @info   Constructor PaymentWay klasse
     * @return null
     */
    public PaymentWay() {
    }
    
    /**
     * SETTER METHODES
     */
    
    /**
     * @method setBalance
     * @params <double> balance
     * @info   Initialiseren instantie variabele balance
     * @return null
     */
    public void setBalance(double balance) {
        this.balance = balance;
    }
    
     /**
     * GETTER METHODES
     */
    
    /**
     * @method getBalance
     * @params null
     * @info   Retourneer instantie variabele balance
     * @return <double> balance
     */
    public double getBalance() {
        return this.balance;
    }
    
    /**
     * HANDLE METHODES
     */
    
    /**
     * @method handlePayment
     * @params <double> toPay
     * @info   Handel betaling af
     * @return null
     */
    public abstract void handlePayment(double toPay) throws ToManyMoneyException;
    
}
